// require('module-alias/register')
import * as Koa from 'koa';              // 导入koa
import { C, N } from "./types"
// import BaseController from '@root/baseController';
// 新建一个Koa对象
import * as Router from "koa-router"
const cors = require('koa2-cors');



const router: Router = new Router()
import routers from "./router/index"

import * as websocket from "koa-websocket"
// const app = websocket(new Koa() )
const app = new Koa()
app.use(cors());

// const ws = new websocket.Server();

//websocket
import "./ws"



let wsObj = {}
// router.all('/ws/test',  (ctx: any) => {
//     // 客户端链接传过来的客户端身份
//     const { id } = ctx.query
//     console.log("id", id);

//     // 将链接保存起来
//     // wsObj[id] = ctx;
//     // 给客户端发送链接成功信息
//     ctx.websocket.send('连接成功');
//     // 监听客户端发送过来的信息
//     // ctx.websocket.on('message', function(message:any) {
//     //     console.log(message);
//     //     // uid为接收方，将接收到的信息发送给接收方uid,可以根据自己的需求处理数据再发送
//     //     const uid = JSON.parse(message).uId;
//     //     if(!wsObj[uid]){
//     //         ctx.websocket.send(`${uid}未上线`)
//     //     }else{
//     //         wsObj[uid].websocket.send(message)
//     //     }

//     // });

//   })

// app.ws.use(function(ctx, next) {
//   // return `next` to pass the context (ctx) on to the next ws middleware
//   console.log(ctx,"哈哈哈");

//   return next();
// });


const port = "9999"
import * as bodyparser from "koa-bodyparser"



app.use(bodyparser({
  enableTypes: ['json', 'form', 'text']
}))
// app.ws.use(routers.routes()).use(routers.allowedMethods())    
app.use(routers.routes());   // 使用路由
app.use(routers.allowedMethods())


app.listen("9999", () => {
  console.log(`Server running at http://47.93.221.158:9999`);

})






